{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": true
   },
   "source": [
    "# Keras cnn classifier.\n",
    "this classifier is corresponding with CS231n homework assign2 cnn homework.\n",
    "* 7x7 layer Conv layer with 32 filters\n",
    "* ReLu Activation Layer\n",
    "* BN Layer\n",
    "* 2x2 Max Polling Layer\n",
    "* Dense Layer with 1024 output units.\n",
    "* ReLU\n",
    "* Dense Layer with 10 outputs."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "The autoreload extension is already loaded. To reload it, use:\n",
      "  %reload_ext autoreload\n"
     ]
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "import keras\n",
    "from keras.models import Sequential\n",
    "from keras.layers import Dense, Activation, Conv2D, Flatten, BatchNormalization, MaxPool2D\n",
    "from data_utils import *\n",
    "\n",
    "%matplotlib inline\n",
    "plt.rcParams['figure.figsize'] = (10.0, 8.0) # set default size of plots\n",
    "plt.rcParams['image.interpolation'] = 'nearest'\n",
    "plt.rcParams['image.cmap'] = 'gray'\n",
    "\n",
    "import tensorflow as tf\n",
    "from keras.backend.tensorflow_backend import set_session\n",
    "config = tf.ConfigProto()\n",
    "config.gpu_options.per_process_gpu_memory_fraction = 0.3\n",
    "set_session(tf.Session(config=config))\n",
    "\n",
    "%load_ext autoreload\n",
    "%autoreload 2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "CIFAR10 Training data shape: (50000, 32, 32, 3)\n",
      "CIFAR10 Training label shape (50000, 1)\n",
      "CIFAR10 Test data shape (10000, 32, 32, 3)\n",
      "CIFAR10 Test label shape (10000, 1)\n"
     ]
    }
   ],
   "source": [
    "# get data\n",
    "cifar10_data = CIFAR10Data()\n",
    "x_train, y_train, x_test, y_test = cifar10_data.get_data(subtract_mean=True)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# First, we implement a very simple cnn for test.\n",
    "* 7x7 layer conv with 32 filters, stride is (2,2)\n",
    "* ReLU\n",
    "* Dense Layer\n",
    "* SVM"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "_________________________________________________________________\n",
      "Layer (type)                 Output Shape              Param #   \n",
      "=================================================================\n",
      "conv2d_10 (Conv2D)           (None, 13, 13, 32)        4736      \n",
      "_________________________________________________________________\n",
      "activation_22 (Activation)   (None, 13, 13, 32)        0         \n",
      "_________________________________________________________________\n",
      "flatten_10 (Flatten)         (None, 5408)              0         \n",
      "_________________________________________________________________\n",
      "dense_13 (Dense)             (None, 10)                54090     \n",
      "_________________________________________________________________\n",
      "activation_23 (Activation)   (None, 10)                0         \n",
      "=================================================================\n",
      "Total params: 58,826\n",
      "Trainable params: 58,826\n",
      "Non-trainable params: 0\n",
      "_________________________________________________________________\n"
     ]
    }
   ],
   "source": [
    "from classifiers.simple_cnn import simple_cnn\n",
    "from keras.optimizers import Adam\n",
    "\n",
    "num_classes = 10\n",
    "simple_model = simple_cnn(classes=num_classes, input_shape=x_train.shape[1:])\n",
    "simple_model.compile(optimizer=Adam(lr=5e-4),\n",
    "                     loss=keras.losses.categorical_hinge,\n",
    "                     metrics=['accuracy'],\n",
    "                     )\n",
    "simple_model.summary()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Train on 40000 samples, validate on 10000 samples\n",
      "Epoch 1/1\n",
      "40000/40000 [==============================] - 6s 150us/step - loss: 6.2696 - acc: 0.3145 - val_loss: 3.6552 - val_acc: 0.3460\n",
      "10000/10000 [==============================] - 1s 111us/step\n",
      "evaluate loss :3.658973 acc:0.346200\n"
     ]
    }
   ],
   "source": [
    "simple_model.fit(x_train, y_train, batch_size=64, epochs=1, validation_split=0.2)\n",
    "\n",
    "\n",
    "loss, acc = simple_model.evaluate(x_test, y_test)\n",
    "print('evaluate loss :%f acc:%f' % (loss, acc))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Now, implement a complex model.\n",
    "* 7x7 layer Conv layer with 32 filters\n",
    "* BN Layer\n",
    "* ReLu Activation Layer\n",
    "* 2x2 Max Polling Layer\n",
    "* Dense Layer with 1024 output units.\n",
    "* BN Layer\n",
    "* ReLU\n",
    "* Dense Layer with 10 outputs."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "_________________________________________________________________\n",
      "Layer (type)                 Output Shape              Param #   \n",
      "=================================================================\n",
      "conv2d_11 (Conv2D)           (None, 32, 32, 32)        4736      \n",
      "_________________________________________________________________\n",
      "batch_normalization_7 (Batch (None, 32, 32, 32)        128       \n",
      "_________________________________________________________________\n",
      "activation_24 (Activation)   (None, 32, 32, 32)        0         \n",
      "_________________________________________________________________\n",
      "max_pooling2d_4 (MaxPooling2 (None, 16, 16, 32)        0         \n",
      "_________________________________________________________________\n",
      "flatten_11 (Flatten)         (None, 8192)              0         \n",
      "_________________________________________________________________\n",
      "dense_14 (Dense)             (None, 1024)              8389632   \n",
      "_________________________________________________________________\n",
      "batch_normalization_8 (Batch (None, 1024)              4096      \n",
      "_________________________________________________________________\n",
      "activation_25 (Activation)   (None, 1024)              0         \n",
      "_________________________________________________________________\n",
      "dense_15 (Dense)             (None, 10)                10250     \n",
      "_________________________________________________________________\n",
      "activation_26 (Activation)   (None, 10)                0         \n",
      "=================================================================\n",
      "Total params: 8,408,842\n",
      "Trainable params: 8,406,730\n",
      "Non-trainable params: 2,112\n",
      "_________________________________________________________________\n"
     ]
    }
   ],
   "source": [
    "from classifiers.simple_cnn import complex_cnn\n",
    "from keras.optimizers import RMSprop\n",
    "\n",
    "complex_model = complex_cnn(classes=num_classes, input_shape=x_train.shape[1:])\n",
    "complex_model.compile(optimizer=keras.optimizers.RMSprop(lr=1e-3),\n",
    "                      loss=keras.losses.categorical_crossentropy,\n",
    "                      metrics=['accuracy'],\n",
    "                      )\n",
    "complex_model.summary()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Train on 40000 samples, validate on 10000 samples\n",
      "Epoch 1/5\n",
      "40000/40000 [==============================] - 11s 276us/step - loss: 1.4680 - acc: 0.4953 - val_loss: 1.1996 - val_acc: 0.5838\n",
      "Epoch 2/5\n",
      "40000/40000 [==============================] - 10s 247us/step - loss: 1.0360 - acc: 0.6390 - val_loss: 1.0874 - val_acc: 0.6267\n",
      "Epoch 3/5\n",
      "40000/40000 [==============================] - 10s 252us/step - loss: 0.8251 - acc: 0.7097 - val_loss: 1.0533 - val_acc: 0.6477\n",
      "Epoch 4/5\n",
      "40000/40000 [==============================] - 10s 250us/step - loss: 0.6469 - acc: 0.7758 - val_loss: 1.0475 - val_acc: 0.6657\n",
      "Epoch 5/5\n",
      "40000/40000 [==============================] - 10s 241us/step - loss: 0.4810 - acc: 0.8336 - val_loss: 1.0902 - val_acc: 0.6657\n"
     ]
    }
   ],
   "source": [
    "history = complex_model.fit(x_train, y_train, batch_size=64, epochs=5, validation_split=0.2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x576 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x576 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "\n",
    "plt.plot(history.history['loss'])\n",
    "plt.plot(history.history['val_loss'])\n",
    "plt.xlabel('epoch')\n",
    "plt.ylabel('Loss value')\n",
    "plt.legend(['train', 'test'], loc='upper left')\n",
    "plt.show()\n",
    "\n",
    "plt.plot(history.history['acc'])\n",
    "plt.plot(history.history['val_acc'])\n",
    "plt.xlabel('epoch')\n",
    "plt.ylabel('acc value')\n",
    "plt.legend(['train', 'test'], loc='upper left')\n",
    "plt.show()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "10000/10000 [==============================] - 1s 130us/step\n",
      "evaluate loss :1.091966 acc:0.667500\n"
     ]
    }
   ],
   "source": [
    "# evaluate\n",
    "loss, acc = complex_model.evaluate(x_test, y_test)\n",
    "print('evaluate loss :%f acc:%f' % (loss, acc))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.5.2"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 1
}
